package com.jy.api.misc.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Alen
 * @date 2024/8/7 16:12
 * @since 2024/8/7 16:12
 */
public class DaiMaDto {
    @JSONField(
            serializeUsing = ToStringSerializer.class
    )
    private Long id;
    @ApiModelProperty("编码系统标识符")
    private String bianMaXTBSF;
    @ApiModelProperty("编码系统名称")
    private String bianMaXTMC;
    @ApiModelProperty("值")
    private String code;
    @ApiModelProperty("值含义")
    private String value;
    @ApiModelProperty("说明")
    private String shuoMing;
    private List<DaiMaDto> childList = new ArrayList();

    public DaiMaDto() {
    }

    public Long getId() {
        return this.id;
    }

    public String getBianMaXTBSF() {
        return this.bianMaXTBSF;
    }

    public String getBianMaXTMC() {
        return this.bianMaXTMC;
    }

    public String getCode() {
        return this.code;
    }

    public String getValue() {
        return this.value;
    }

    public String getShuoMing() {
        return this.shuoMing;
    }

    public List<DaiMaDto> getChildList() {
        return this.childList;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public void setBianMaXTBSF(String bianMaXTBSF) {
        this.bianMaXTBSF = bianMaXTBSF;
    }

    public void setBianMaXTMC(String bianMaXTMC) {
        this.bianMaXTMC = bianMaXTMC;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public void setShuoMing(String shuoMing) {
        this.shuoMing = shuoMing;
    }

    public void setChildList(List<DaiMaDto> childList) {
        this.childList = childList;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof DaiMaDto)) {
            return false;
        } else {
            DaiMaDto other = (DaiMaDto)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label95: {
                    Object this$id = this.getId();
                    Object other$id = other.getId();
                    if (this$id == null) {
                        if (other$id == null) {
                            break label95;
                        }
                    } else if (this$id.equals(other$id)) {
                        break label95;
                    }

                    return false;
                }

                Object this$bianMaXTBSF = this.getBianMaXTBSF();
                Object other$bianMaXTBSF = other.getBianMaXTBSF();
                if (this$bianMaXTBSF == null) {
                    if (other$bianMaXTBSF != null) {
                        return false;
                    }
                } else if (!this$bianMaXTBSF.equals(other$bianMaXTBSF)) {
                    return false;
                }

                Object this$bianMaXTMC = this.getBianMaXTMC();
                Object other$bianMaXTMC = other.getBianMaXTMC();
                if (this$bianMaXTMC == null) {
                    if (other$bianMaXTMC != null) {
                        return false;
                    }
                } else if (!this$bianMaXTMC.equals(other$bianMaXTMC)) {
                    return false;
                }

                label74: {
                    Object this$code = this.getCode();
                    Object other$code = other.getCode();
                    if (this$code == null) {
                        if (other$code == null) {
                            break label74;
                        }
                    } else if (this$code.equals(other$code)) {
                        break label74;
                    }

                    return false;
                }

                label67: {
                    Object this$value = this.getValue();
                    Object other$value = other.getValue();
                    if (this$value == null) {
                        if (other$value == null) {
                            break label67;
                        }
                    } else if (this$value.equals(other$value)) {
                        break label67;
                    }

                    return false;
                }

                Object this$shuoMing = this.getShuoMing();
                Object other$shuoMing = other.getShuoMing();
                if (this$shuoMing == null) {
                    if (other$shuoMing != null) {
                        return false;
                    }
                } else if (!this$shuoMing.equals(other$shuoMing)) {
                    return false;
                }

                Object this$childList = this.getChildList();
                Object other$childList = other.getChildList();
                if (this$childList == null) {
                    if (other$childList != null) {
                        return false;
                    }
                } else if (!this$childList.equals(other$childList)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof DaiMaDto;
    }

    public int hashCode() {
        boolean PRIME = true;
        int result = 1;
        Object $id = this.getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        Object $bianMaXTBSF = this.getBianMaXTBSF();
        result = result * 59 + ($bianMaXTBSF == null ? 43 : $bianMaXTBSF.hashCode());
        Object $bianMaXTMC = this.getBianMaXTMC();
        result = result * 59 + ($bianMaXTMC == null ? 43 : $bianMaXTMC.hashCode());
        Object $code = this.getCode();
        result = result * 59 + ($code == null ? 43 : $code.hashCode());
        Object $value = this.getValue();
        result = result * 59 + ($value == null ? 43 : $value.hashCode());
        Object $shuoMing = this.getShuoMing();
        result = result * 59 + ($shuoMing == null ? 43 : $shuoMing.hashCode());
        Object $childList = this.getChildList();
        result = result * 59 + ($childList == null ? 43 : $childList.hashCode());
        return result;
    }

    public String toString() {
        return "DaiMaDto(id=" + this.getId() + ", bianMaXTBSF=" + this.getBianMaXTBSF() + ", bianMaXTMC=" + this.getBianMaXTMC() + ", code=" + this.getCode() + ", value=" + this.getValue() + ", shuoMing=" + this.getShuoMing() + ", childList=" + this.getChildList() + ")";
    }
}
